CoALP-Ty'16
نویسندگان
چکیده
Type classes are an immensely popular andproductive feature of Haskell. They have since been adoptedin, and adapted to, numerous other languages, including the-orem provers. We show that type classes have a natural andefficient representation in .NET that paves the way for theextension of F#, C# and other .NET languages with typeclasses. Our encoding is type preserving and promises easyand safe cross-language inter-operation. We have extendedthe open source C# compiler and language service, Roslyn,with pervasive support for type classes and have prototypeda more minimalist design for F#.(This talk was originally presented at the ACM SIGPLANWorkshop on ML, September 2016, Nara, Japan).
منابع مشابه
Structural Resolution with Co-inductive Loop Detection
c Yue Li This work is licensed under the Creative Commons Attribution-Share Alike License. A way to combine co-SLD style loop detection with structural resolution was found and is introduced in this work, to extend structural resolution with co-induction. In particular, we present the operational semantics, called co-inductive structural resolution, of this novel combination and prove its sound...
متن کاملExploiting Parallelism in Coalgebraic Logic Programming
We present a parallel implementation of Coalgebraic Logic Programming (CoALP) in the programming language Go. CoALP was initially introduced to reflect coalgebraic semantics of logic programming, with coalgebraic derivation algorithm featuring both corecursion and parallelism. Here, we discuss how the coalgebraic semantics influenced our parallel implementation of logic programming.
متن کامل(Co)recursion in Logic Programming: Lazy vs Eager
Coalgebraic Logic Programming (CoALP) is a dialect of Logic programming designed to work with coinductive definitions of infinite objects. Its main goal is to introduce guarded lazy corecursion akin functional theorem provers into logic programming. In this paper, we give the first full formal account of guarded corecursion in CoALP, and present its implementation.
متن کاملExtending Coinductive Logic Programming with Co-Facts
We introduce a generalized logic programming paradigm where programs, consisting of facts and rules with the usual syntax, can be enriched by co-facts, which syntactically resemble facts but have a special meaning. As in coinductive logic programming, interpretations are subsets of the complete Herbrand basis, including infinite terms. However, the intended meaning (declarative semantics) of a ...
متن کاملTrace and Stable Failures Semantics for CSP-Agda
CSP-Agda is a library, which formalises the process algebra CSP in the interactive theorem prover Agda using coinductive data types. In CSP-Agda, CSP processes are in monadic form, which supports a modular development of processes. In this paper, we implement two main models of CSP, trace and stable failures semantics, in CSP-Agda, and define the corresponding refinement and equality relations....
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
- CoRR
دوره abs/1612.03032 شماره
صفحات -
تاریخ انتشار 2016